<!DOCTYPE html>
<html lang="en"
  id="htmlRoot">

  <head>
    <base href="/" />
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible"
      content="IE=edge,chrome=1" />
    <meta name="renderer"
      content="webkit" />
    <meta name="viewport"
      content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0" />
    <title>
      <%= title
        %>
    </title>
    <link rel="icon"
      href="/favicon.ico" />
    <script src="libs/abp/abp.js"></script>
    <script src="libs/signalr/signalr.js"></script>
    <script src="libs/alicdn/font_2510092_d93etv9ngz.js"></script>
    <script src="iconfont/iconfont.js"></script>
    <script type="text/javascript">
      // 版本更新之后的刷新操作
      window.addEventListener('error', handleListenerError, true);
      window.__vue_version_update_error = false;
      function handleListenerError(eventErr) {
        if (window.__vue_version_update_error) {
          return;
        }
        if (eventErr.srcElement.localName == 'link' || eventErr.srcElement.localName == 'script') {
          window.__vue_version_update_error = true;
          alert('因版本更新，页面需重新载入，请核对当次操作数据' + eventErr);
          window.location.reload();
        }
        eventErr.preventDefault()
      }
    </script>

  </head>

  <body>
    <script>
      (() => {
        var htmlRoot = document.getElementById('htmlRoot');
        var theme = window.localStorage.getItem('__APP__DARK__MODE__');
        if (htmlRoot && theme) {
          htmlRoot.setAttribute('data-theme', theme);
          theme = htmlRoot = null;
        }
      })();
    </script>
    <div id="app">
      <style>
        html[data-theme='dark'] .app-loading {
          background-color: #2c344a;
        }

        html[data-theme='dark'] .app-loading .app-loading-title {
          color: rgb(255 255 255 / 85%);
        }

        .app-loading {
          display: flex;
          width: 100%;
          height: 100%;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          background-color: #f4f7f9;
        }

        .app-loading .app-loading-wrap {
          position: absolute;
          top: 50%;
          left: 50%;
          display: flex;
          transform: translate3d(-50%, -50%, 0);
          justify-content: center;
          align-items: center;
          flex-direction: column;
        }

        .app-loading .dots {
          display: flex;
          padding: 98px;
          justify-content: center;
          align-items: center;
        }

        .app-loading .app-loading-title {
          margin-left: 12px;
          display: flex;
          margin-top: 30px;
          font-size: 30px;
          color: rgb(0 0 0 / 85%);
          justify-content: center;
          align-items: center;
        }

        .app-loading .app-loading-logo {
          display: block;
          width: 90px;
          margin: 0 auto;
          margin-bottom: 20px;
        }

        .dot {
          position: relative;
          display: inline-block;
          width: 48px;
          height: 48px;
          margin-top: 30px;
          font-size: 32px;
          transform: rotate(45deg);
          box-sizing: border-box;
          animation: antRotate 1.2s infinite linear;
        }

        .dot i {
          position: absolute;
          display: block;
          width: 20px;
          height: 20px;
          background-color: #0065cc;
          border-radius: 100%;
          opacity: 30%;
          transform: scale(0.75);
          animation: antSpinMove 1s infinite linear alternate;
          transform-origin: 50% 50%;
        }

        .dot i:nth-child(1) {
          top: 0;
          left: 0;
        }

        .dot i:nth-child(2) {
          top: 0;
          right: 0;
          animation-delay: 0.4s;
        }

        .dot i:nth-child(3) {
          right: 0;
          bottom: 0;
          animation-delay: 0.8s;
        }

        .dot i:nth-child(4) {
          bottom: 0;
          left: 0;
          animation-delay: 1.2s;
        }

        @keyframes antRotate {
          to {
            transform: rotate(405deg);
          }
        }

        @keyframes antRotate {
          to {
            transform: rotate(405deg);
          }
        }

        @keyframes antSpinMove {
          to {
            opacity: 100%;
          }
        }

        @keyframes antSpinMove {
          to {
            opacity: 100%;
          }
        }
      </style>
      <div class="app-loading">
        <div class="app-loading-wrap">
          <img src="/src/assets/images/2.png"
            class="app-loading-logo"
            alt="Logo"
            style="width: 300px; height: 150px" />
          <div class="app-loading-dots">
            <span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
          </div>
          <div class="app-loading-title">
            <%= title
              %>
          </div>
        </div>
      </div>
    </div>
    <script type="module"
      src="/src/main.ts"></script>
  </body>

</html>
